Passed
Push — master ( 5f67fe...8bce0b )
by Jesús
02:16
created

languageHelpers.ts ➔ getUILanguageCode   A

Complexity

Conditions 1

Size

Total Lines 16
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 15
dl 0
loc 16
rs 9.65
c 0
b 0
f 0
1
export function getDefaultLanguage(): string {
2
  return 'english';
3
}
4
5
export function getSavedLanguage(): string | null {
6
  return localStorage.getItem('language');
7
}
8
9
export function saveLanguage(language: string): void {
10
  localStorage.setItem('language', language);
11
}
12
13
export function determineLanguage(savedLanguage: string | null): string {
14
  return savedLanguage || getDefaultLanguage();
15
}
16
17
export function isLanguageActive(optionLang: string, currentLang: string): boolean {
18
  return optionLang === currentLang;
19
}
20
21
export function getUILanguageCode(wordlistLang: string): string {
22
  const mapping: Record<string, string> = {
23
    'english': 'en',
24
    'spanish': 'es',
25
    'french': 'fr',
26
    'czech': 'cs',
27
    'italian': 'it',
28
    'portuguese': 'pt',
29
    'japanese': 'ja',
30
    'korean': 'ko',
31
    'chinese_simplified': 'zh-Hans',
32
    'chinese_traditional': 'zh-Hant',
33
  };
34
  
35
  return mapping[wordlistLang] || 'en';
36
}
37
38
export function shouldCloseDropdown(isOpen: boolean, clickedInside: boolean): boolean {
39
  return isOpen && !clickedInside;
40
}
41
42
export function toggleOpenState(currentState: boolean): boolean {
43
  return !currentState;
44
}
45